﻿namespace Microsoft.VisualStudio.ServiceModel.DomainServices.Tools
{
    using System;
    using System.Collections.Generic;
    using System.Linq;

    internal class GeneratedCode : MarshalByRefObject
    {
        private IEnumerable<string> _references;
        private string _sourceCode;

        internal GeneratedCode()
        {
            this._sourceCode = string.Empty;
            this._references = Enumerable.Empty<string>();
        }

        internal GeneratedCode(string sourceCode, IEnumerable<string> references)
        {
            if (sourceCode == null)
            {
                throw new ArgumentNullException("sourceCode");
            }
            if (references == null)
            {
                throw new ArgumentNullException("references");
            }
            this._sourceCode = sourceCode;
            this._references = references;
        }

        internal IEnumerable<string> References
        {
            get
            {
                return this._references;
            }
        }

        internal string SourceCode
        {
            get
            {
                return this._sourceCode;
            }
        }
    }
}

